2023 Open edX Elections - Candidatures

Hi! I would like to announce my candidacy to the Technical Oversight Commitee election.

My goal as a TOC member will be to unlock the potential of Open edX.

Goals summary

Open edX is both an amazing community and a fantastic piece of software. But its growth is hampered by the complexity of the software and its lack of extensibility. I propose to resolve this issue by encouraging contributions from the community. In particular, I want to make it possible for external contributors to tackle major platform-wide changes.

Details

The year is 2022 and education has already gone through a few major revolutions: the latest one was the worldwide shift to online learning during the pandemic. Yet, the world is still missing a reliable, scalable, extensible, feature-complete, open source solution for online learning. I believe that Open edX is a great solution for online learning. In many cases it works just great. But it is not good enough, yet.

When I joined the Open edX community in 2014 the stated objective was very ambitious:

“We want to reach a billion learners worldwide” – Anant Agarwal, 2012

Back then, I thought that this vision was very inspiring, and I still do. We must strive to achieve this vision. That is why I believe that we must come to terms with the fact that there are major problems with the Open edX software that are preventing us from achieving this vision.

Here is what I believe:

  • Open edX complexity makes it very difficult to operate, modify or extend the platform.
  • Contributors do not address this complexity because they have little incentive to do so.

I know for a fact that this opinion is widely shared within the community. But I am optimistic about our capacity to resolve this situation and achieve our vision to “reach a billion learners worldwide”. If I was not, I would have stopped working on Open edX already.

To address this challenge, I propose that we kickstart “major projects”. Examples of such projects include:

  • Design and implement a complete (but simple) extension mechanism for platform customization (including theming).
  • Create an ecommerce/payment solution that works out of the box.
  • Simplify the Open edX production stack (bye bye Elasticsearch and Mongodb, hello Postgresql).
  • Implement a student-friendly forum solution (in Python this time).
  • etc.

These projects would resolve major issues with the Open edX platform that most people in the community already know about – in some cases, these issues have been affecting the community for years. The problem is that in the current situation, there is little incentive for community contributors to address these issues. This is known in open source software as the “tragedy of the commons”. In short: all contributors are waiting for someone else to step in and do the work. This situation is aggravated by the fact that making changes to Open edX is hard: not because of the community, which has come a long way in the past couple years, but because the software is too complex. Thus, we find ourselves in a vicious circle where complex software becomes even more complex.

To encourage third party contributors to address these challenges, I propose the following:

a. Launch three major projects at the beginning of every release cycle.
b. Grant a small bounty ($5-15k) to each major project.
c. Assign each major project to a single company or individual who commits to resolving it within six months (by the end of the release cycle).
d. When a new Open edX major version is released, the contributors who tackled major projects are prominently featured in the release notes and the various announcements.

Moreover, we will also encourage smaller contributions, such as bug fixes or the implementation of simpler features. To do so, we will create a project changelog where contributors will be acknowledged by name and/or company.

My hope is that by publicly acknowledging the contributions of individual contributors, along with small financial incentives, we can remove the major obstacles that prevent Open edX from being the best open source solution for online learning.

Relevant experience

I like to say that I am slowly working my way up the Open edX hierarchy of needs. I joined the Open edX project in 2014: first while working on fun-mooc.org, then as a freelance software engineer at Overhang.IO. In 2017 I created Tutor. At the time, the most pressing issue of the community was the difficulty of installing Open edX. Now that Tutor is the default community installation, I consider that this is mostly a solved problem. Back in 2019, I also helped Ned Batchelder kickstart the Build / Test / Release working group, now in charge of creating and maintaining the official community releases. Then, I noticed that there was no good, open source frontend theme, so I created Indigo. Later on, I decided that what the community needed most was a great, self-hosted analytics solution; it took me six months of research before I was able to publish Cairn (analytics is now also a solved problem, in my humble opinion).

As an engineer, I like to solve technical problems. While working on Tutor, you could say that I was working at the “periphery” of Open edX. I now think that the Open edX community is strong and mature enough that we can try to tackle its core issues together. If I am elected, one of the consequences is that I will work less as a software engineer, and more as a project coordinator or manager. It will be a big change for me, but I just turned 40, and I am at a point in my life where I think I can face this challenge.

Here is a list of talks I have given in the past about Open edX:

My background is in satellite imaging and computer vision. I have a PhD in machine learning. I spend most of my time in a small and beautiful mountain village of the French Hautes-Alpes, where I live with my girlfriend and her 9-year old son. Things I enjoy most are riding my mountain bike, climbing mountains, watching movies and making broken things work again.

Time commitment

I expect to be able to dedicate 2-4 days (16-32 hours) per month to the role of TOC member.

13 Likes